"""
演示数据容器-集合的使用
"""

# 定义集合
my_set = {"传智教育", "黑马程序员", "Python", "传智教育", "黑马程序员", "Python"}
my_set_empty = set()  # 定义空集合
print(f"my_set的内容：{my_set}，类型是：{type(my_set)}")
print(f"my_set_empty的内容：{my_set_empty}，类型是：{type(my_set_empty)}")
print("-------------------------------------------")

# 添加新元素
my_set.add("itheima")
print(f"my_set添加元素后的结果：{my_set}")
print("-------------------------------------------")

# 删除元素
my_set.remove("黑马程序员")
print(f"my_set删除元素后的结果：{my_set}")
print("-------------------------------------------")

# 取两个集合的差集，集合1有，但集合2没有的内容
set1 = {1, 2, 3}
set2 = {1, 5, 6}
set3 = set1.difference(set2)
print(f"集合1的内容：{set1}")
print(f"集合2的内容：{set2}")
print(f"集合1和集合2的差集：{set3}")
print("-------------------------------------------")

# 消除两个集合的差集，在集合1内删除和集合2相同的元素
# 集合1会被修改，集合2不会被修改
set1 = {1, 2, 3}
set2 = {1, 5, 6}
set1.difference_update(set2)
print(f"消除后集合1的内容：{set1}")
print(f"消除后集合2的内容：{set2}")
print("-------------------------------------------")

# 两个集合合并，求并集
set1 = {1, 2, 3}
set2 = {1, 5, 6}
set3 = set1.union(set2)
print(f"集合1的内容：{set1}")
print(f"集合2的内容：{set2}")
print(f"集合1和集合2的并集：{set3}")
print("-------------------------------------------")

# 求集合的长度
set1 = {1, 2, 3, 4, 5, 6, 1, 2, 3, 4}
print(f"set1的长度为：{len(set1)}")
print(f"set1的内容为：{set1}")
print("-------------------------------------------")

# 用for循环遍历集合
set1 = {'Python', '传智教育', '黑马程序员', 'itheima'}
print(f"集合内容：{set1}")
for i in set1:
    print(f"遍历集合元素：{i}")
